package org.jeecg.vo.charge;

import lombok.Data;

import java.io.Serializable;
import java.util.List;
import java.util.Map;
import java.util.Objects;

/**
 * @Description: 账单
 * @Author: jeecg-boot
 * @Date:   2019-08-08
 * @Version: V1.0
 */
@Data
public class ChargeBillsJumpAll implements Serializable {

	/**合计税额*/
	private Double sumTaxPaid;
	/**合计收入*/
	private Double sumIncome;
	/**合计金额*/
	private Double sumMoney;
	/**合计优惠*/
	private Double discount;
	/**地址*/
	private String address;
	/**收款方式*/
	private List<ChargeMethod> payTypeList;
	/**当前人ID*/
	private String payuserId;
	/**当前人姓名*/
	private String payuserName;
	/**票据集合*/
	private Map<String,Map<String,List<String>>> invoiceMap;

	@Override
	public boolean equals(Object o) {
		if (this == o) return true;
		if (o == null || getClass() != o.getClass()) return false;
		if (!super.equals(o)) return false;
		ChargeBillsJumpAll that = (ChargeBillsJumpAll) o;
		return Objects.equals(sumTaxPaid, that.sumTaxPaid) &&
				Objects.equals(sumIncome, that.sumIncome) &&
				Objects.equals(sumMoney, that.sumMoney) &&
				Objects.equals(address, that.address) &&
				Objects.equals(payTypeList, that.payTypeList) &&
				Objects.equals(payuserId, that.payuserId) &&
				Objects.equals(payuserName, that.payuserName);
	}

	@Override
	public int hashCode() {

		return Objects.hash(super.hashCode(), sumTaxPaid, sumIncome, sumMoney, address, payTypeList, payuserId, payuserName);
	}
}
